1. Field of the Invention
The invention relates to the field of data transmission and recording; and more particularly to systems in which a stream of sequences of encoded data is received or retrieved, interspersed or interleaved with bit patterns which provide control information. Identification of the particular patterns is often complicated by the fact that short, or sometimes not so short, portions of the data stream may closely match a portion of the particular pattern to be identified.
One class of bit stream which exhibits these characteristics is the signal from a magnetic playback head, reading a streaming magnetic tape used for information interchange between processing or communication systems. When economy of size or cost require that the bit rate, read out by the head, be only plesiosynchronous with respect to a given frequency (that is, close to but usually not exactly the same frequency) it is usually necessary to synchronize a local clock to the current bit rate coming from the head. Because data patterns often have irregular patterns of the binary values, hereinafter referred to as ones and zeroes, clock synchronization is typically aided by inserting preamble patterns periodically along the tape, particularly at the beginning of a record.
Particularly when, to aid in achieving high storage density, data are encoded in a code having a relatively large ratio between ones and zeroes, attempting to synchronize a clock can be difficult if the clock has a significant frequency difference from the bit rate of the head at the moment synchronization is being attempted. Typically synchronization involves a phase-locked loop; and erroneous synchronization to a sub-harmonic of the correct frequency is possible if a receiver starts to receive the bit stream during transmission of data, or a tape player has slewed at high speed or reversed to a portion of the tape, and resumes playback speed in the middle of a data block.
Preamble patterns intended to aid clock synchronization commonly consist of a string of alternating ones and zeroes, because bit synchronization to this pattern is fastest and most accurate; this pattern is relatively easy to identify even if it is not very long; and the end of the pattern is very easily identified by a change from simple alternation. In the field of data transmission involving modulation of a high frequency carrier frequency, such preamble patterns are desirable also because the average number of ones and zeroes is equal. This equality eliminates the build-up of an average dc level in certain demodulation schemes.
Other particular patterns which must be identified include end-of-data patterns. Such patterns may be used between unrelated data sequences, particularly when there is no gap in the bit stream.
2. Description of the Prior Art
For recording and playback of data on/from a quarter-inch magnetic tape having a large number of parallel longitudinal tracks, with a very high recording density and a very low corrected bit error rate, a data code proposed in the QIC Development Standard, revision E, as of Jan. 17, 1990 (hereinafter "QIC Standard"; published by Quarter-Inch Cartridge Drive Standards, Inc. of Santa Barbara, Calif., is a so-called (1, 7) code. This code has an average of approximately 2.3 times as many zeroes as ones, if the bit stream sample is long enough or if the enclosed data has been randomized (see "Monte Carlo Analysis of Recording Codes," Paul K. Davis, IEEE Trans. on Magnetics, Vol. MAG-20, No. 5, September 1984; "Statistical Properties of Selected Recording Codes" Thomas D. Howell, IBM Journal of R & D Vol. 33, No. 1 January 1989). This same standard may use an end-of-data burst consisting of strings of one one and seven zeroes. These seem easy to recognize or distinguish; but this is not so easy if readout or playback commenced in the data area well before the critical string, and as a result the local clock is not synchronized to the bit stream, nor is any decoder synchronized to individual bytes, blocks or frames.
In the QIC Standard each block of data starts with a preamble. All blocks within a frame are recorded without any gaps, and frames are also recorded continuously. Thus, there are no gaps at all along a given track. This is known as "seamless" recording. However, recognition of the preamble and end-of-data patterns are vital for identification of the beginning and end of a data block.
According to this same standard, a normal preamble has the defined minimum length: 13 bytes. This creates the problem that identification with a high degree of confidence must occur quickly if any portion of the preamble is to be used for any other purpose. At the same time, use of a comparator which has such a large capacity that the preamble is reliably recognized, particularly in the face of a small number of errors in the information stream from the read head, involves a significant amount of computing capacity and time.
Similarly, it is clear that end-of-data pattern will be very difficult to recognize in the face of a few errors, by comparing the exact bit pattern.
The problem of synchronization is most acute when "repositioning" occurs, that is, when the tape motion is stopped, the tape is reversed, and then is started forward again. Repositioning can occur for a variety of reasons, but, for example, one case occurs when the host computer has momentarily accepted as much data as it can handle, but during the resulting tape reversal it becomes ready to accept more data. In a seamless recording, when tape forward motion resumes, it is impossible to predict whether the tape drive's read head will be located over data, preamble, end-of-data or some other control pattern. Under these circumstances, the phase-locked loop may become synchronized to a sub-harmonic of the preamble pattern when codes such as (1, 7) are employed. This code has a large number of possible sequences of bits with long strings of encoded zeros which facilitates synchronization to sub-harmonics.
This problem does not occur with previous QIC standard codes even though they are also employed in a seamless fashion. Most existing QIC tape drives record using the so-called 4/5 GCR code where the probability of locking to a sub-harmonic of the clock frequency is practically zero. Furthermore, the problem would never occur on currently known half-inch digital tape drives regardless of the encoding method because they do not use seamless recording. They are designed to have unrecorded or erased gaps between records. The data recovery system (including the phase-locked loop) can always properly synchronize because the system can recognize a gap which is invariably followed by a preamble. Thus, the problem is unique to streaming tape drives employing seamless recording along with certain high efficiency channel codes such as (1, 7). The reason QIC and other standards organizations want to use these codes is that they permit a significantly higher amount of data to be stored on a given surface area. While another alternative to solution of the synchronization problem would be to drop seamless recording and include gaps between records, this would have the effect of reducing storage capacity of the tape, negating the advantages gained by using this code.